home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-02
/
mlapi.zip
/
MLAPI.ASM
< prev
next >
Wrap
Assembly Source File
|
1990-02-23
|
2KB
|
122 lines
;Interface Turbo Pascal 5.0 with MultiLink Advanced
;Version 1.0
;Assembled with TASM 1.0
;Donald M. DeLapp
;485 S. Sheridan Ave.
;Sheridan, WY 82801
;307-674-6841
LOCALS
.MODEL TPASCAL
.CODE
MultiLinkINT EQU 7Fh
MultiLinkLoaded PROC FAR
PUBLIC MultiLinkLoaded
XOR AX,AX
MOV ES,AX
MOV ES,ES:[01FEH]
MOV DX,ES
CMP AX,DX
JE NOTFOUND
CMP BYTE PTR ES:[0],0E9H
JNE NOTFOUND
MOV AL,1
JMP SHORT @@EXIT
NOTFOUND:
XOR AL,AL
@@EXIT: RET
MultiLinkLoaded ENDP
Enque PROC FAR What:WORD,WaitFlag:WORD,Result:DWORD
PUBLIC Enque
MOV BX,WORD PTR What
XOR AH,AH
MOV AL,BYTE PTR WaitFlag
INT MultiLinkINT
XOR AH,AH
LES DI,DWORD PTR Result
MOV WORD PTR ES:[DI],AX
RET
Enque ENDP
Deque PROC FAR What:WORD,Result:DWORD
PUBLIC Deque
MOV BX,WORD PTR What
MOV AH,1
INT MultiLinkINT
XOR AH,AH
LES DI,DWORD PTR Result
MOV WORD PTR ES:[DI],AX
RET
Deque ENDP
SetTaskPriority PROC FAR N:WORD
PUBLIC SetTaskPriority
MOV AL,BYTE PTR N
MOV AH,9
INT MultiLinkINT
RET
SetTaskPriority ENDP
SetKbdTest PROC FAR N:WORD
PUBLIC SetKbdTest
MOV AL,BYTE PTR N
MOV AH,10
INT MultiLinkINT
RET
SetKbdTest ENDP
MLVIDRAMActive PROC FAR
PUBLIC MLVIDRAMActive
XOR AX,AX
MOV ES,AX
MOV ES,WORD PTR ES:[01FEH]
MOV DI,WORD PTR ES:[58H] ;TASK INDEX
MOV AL,BYTE PTR ES:[DI+0D6H];video I/O buffer flag
AND AL,00000001B
JZ @@FALSE
MOV AL,1
JMP SHORT @@EXIT
@@FALSE:
XOR AL,AL
@@EXIT: RET
MLVIDRAMActive ENDP
GetMultiLinkVideoSegment PROC FAR
PUBLIC GetMultiLinkVideoSegment
XOR AX,AX
MOV ES,AX
MOV ES,WORD PTR ES:[01FEH]
MOV DI,WORD PTR ES:[58H] ;TASK INDEX
MOV AX,WORD PTR ES:[DI+0D4H];video I/O buffer segment address
RET
GetMultiLinkVideoSegment ENDP
SetTaskTimeSlice PROC FAR N:WORD
PUBLIC SetTaskTimeSlice
XOR AX,AX
MOV ES,AX
MOV ES,WORD PTR ES:[01FEH]
MOV DI,WORD PTR ES:[58H] ;TASK INDEX
MOV AL,BYTE PTR N
MOV BYTE PTR ES:[DI+0E3H],AL;timer ticks for partition
RET
SetTaskTimeSlice ENDP
GetPartitionNo PROC FAR
PUBLIC GetPartitionNo
XOR AX,AX
MOV DX,AX
MOV ES,AX
MOV ES,WORD PTR ES:[01FEH]
MOV BX,WORD PTR ES:[54H] ;RTSIZE
MOV AX,WORD PTR ES:[58H] ;TASK INDEX
DIV BX
RET
GetPartitionNo ENDP
END